# Тест должен выполняться на странице https://zapp.example.com/demo
Feature: Демо ZAPP

  Background:
    Given Я перешел на главную страницу
      And Я выбрал десктопную версию
      And Я убедился что страница прогрузилась
      And Я закрыл все вкладки кроме текущей

  @ZephyrLabel/TOOLS/ZAPP_Playground_1 @JiraStory/ZAPP-61 @demo @main
  Scenario: Основной сценарий - первая часть
    When Я установил функцию cleanup zapp_demo_steps.clean_fields
      And Я ввел в поле "Логин" значение переменной "zapp_login"
      And Я ввел посимвольно в поле "Пароль" значение переменной "zapp_pass"
    Then Я убедился что "Кнопка" доступна для нажатия

    When Я нажал на кнопку "Кнопка"
    Then Я убедился что "Неактивная кнопка" не доступна для нажатия
      And Я убедился что значение свойства "disabled" элемента "Неактивная кнопка" имеет значение "true"
      And Я убедился что значение свойства "disabled" элемента "Неактивная кнопка" не совпадает со значением переменной "PROJECT"
      And Я убедился что "Скрытая кнопка" не отображается
      And Я убедился что поле "Поле ввода" пустое

    When Я ввел в поле "Поле ввода" значение "Гастроном номер двадцать два"
      And Я нажал на "Проверочное поле"
    Then Я убедился что поле "Проверочное поле" не пустое
      And Я убедился что элемент с текстом "Гастроном номер двадцать два" отображается

    When Я очистил поле "Поле ввода"
      And Я нажал на клавишу ENTER
    Then Я убедился что элемент с текстом "Гастроном номер двадцать два" не отображается

    When Я ввел в поле "Поле ввода" значение переменной "PROJECT"
      And Я нажал на "Проверочное поле"
    Then Я убедился что значение переменной "PROJECT" совпадает со значением элемента "Проверочное поле"
      And Я очистил поле "Поле ввода"

    When Я нажал на "Проверочное поле"
    Then Я убедился что значение переменной "PROJECT" не совпадает с элементом "Проверочное поле"

    When Я ввел в поле "Поле ввода" значение переменной "run_seed"
    Then DEMO STEP: Я проверил ввод данных

    When Я ввел в поле "Поле ввода" сегодняшнюю дату
    Then DEMO STEP: Я проверил ввод данных

    When Я ввел в "Поле ввода" завтрашнюю дату в формате "%d.%m.%y"
    Then DEMO STEP: Я проверил ввод данных

    When Я ввел в "Поле ввода" вчерашнюю дату
    Then DEMO STEP: Я проверил ввод данных

    When Я ввел в "Поле ввода" дату на 7 дней позже текущей
    Then DEMO STEP: Я проверил ввод данных

    When Я ввел в "Поле ввода" дату на 1 дней раньше текущей в формате "%A, %d %B"
    Then DEMO STEP: Я проверил ввод данных

    When Я ввел в поле "Поле ввода" одноразовый код для секрета из переменной "otp_demo_secret_code"
    Then DEMO STEP: Я проверил ввод данных

    When Я нажал на первый элемент в списке "Список"
      And Я нажал на последний элемент в списке "Список"
      And Я нажал на случайный элемент в списке "Список"
    Then Я убедился что в списке "Список" 7 значений

    When Я выбрал "Зелёные" в выпадающем меню "Фильтр"
    Then Я убедился что отображается не менее 4 элементов в списке "Список"
      And Я убедился что среди элементов "Список" отображается элемент с текстом "октохалк"

    When Я выбрал "Синие" в выпадающем меню "Фильтр"
    Then Я убедился что отображается не более 3 элементов в списке "Список"
      And Я убедился что среди элементов "Список" не отображается элемент с текстом "октохалк"

    When Я нажал на точку со смещением "160,10" от элемента "Показать"
    Then Я убедился что "Скрытая кнопка" отображается

    When Я нажал на "Чекбокс"
    Then Я убедился что "Скрытая кнопка" не отображается

    When Я пролистал контейнер "Контейнер" на "0","250" пикселей
      And Я нажал на один из элементов "Элементы" с текстом "Item 15"
      And Я сохранил значение элемента "Проверочное поле списка" в переменную "field_count"
      And Я нажал на 15-й элемент в списке "Элементы"
    Then Я убедился что численное значение из переменной "field_count" больше чем на элементе "Проверочное поле списка"

    When Я нажал на 17-й элемент в списке "Элементы"
    Then Я убедился что численное значение из переменной "field_count" меньше чем на элементе "Проверочное поле списка"

    When Я навел курсор на элемент "Картинка"


  @ZephyrLabel/TOOLS/ZAPP_Playground_2 @demo @main
  Scenario: Основной сценарий - вторая часть
    When Я перешел на страницу "ZAPP DLC"
    Then Я убедился что URL текущей страницы содержит строку "dlc"

    When Я перешел по ссылке из переменной "ZAPP_DEMO_PAGE"
    Then Я убедился что я нахожусь на странице с названием "ZAPP Playground — ZAPP"
      And Я убедился что URL текущей страницы содержит значение переменной "context_host"

    When Я перешел по ссылке из переменной "navigation > link > test_link_1"
    Then Я убедился что URL текущей страницы содержит значение переменной "navigation > link > test_link_1"

    When Я перешел по ссылке "changelog" относительно тестового стенда
    Then Я убедился что URL текущей страницы содержит строку "changelog"

    When Я перешел по ссылке "/manual/" с параметром "navigation > appendix > test_link_appendix_1" относительно тестового стенда
    Then Я убедился что URL текущей страницы содержит строку "manual"
      And Я убедился что URL текущей страницы содержит значение переменной "navigation > appendix > test_link_appendix_1"

    When Я перешел по ссылке "/manual" с параметром "navigation > appendix > test_link_appendix_2" относительно стенда из переменной "context_host"
    Then Я убедился что URL текущей страницы содержит значение переменной "navigation > appendix > test_link_appendix_2"
      And Я вернулся на главную страницу


  @ZephyrLabel/TOOLS/ZAPP_Playground_3 @demo @main
  Scenario: Основной сценарий - третья часть
    When Я пролистал страницу на "0","200" пикселей
      And Я переключился на фрейм "Фрейм"
    Then Я убедился что "Поле ввода во фрейме" отображается

    When Я установил посимвольный ввод
      And Я ввел в "Поле ввода во фрейме" сгенерированное случайно имя
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я ввел в поле "Поле ввода во фрейме" сгенерированное случайно отчество
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я установил посимвольный ввод с задержкой "0,3" секунды
      And Я ввел в "Поле ввода во фрейме" сгенерированную случайно фамилию
    Then DEMO STEP: Я проверил ввод данных во фрейме
      And Я вернул ввод элементов на изначальный

    When Я ввел в поле "Поле ввода во фрейме" сгенерированную случайно дату рождения
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я ввел в поле "Поле ввода во фрейме" сгенерированный случайно номер телефона
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я ввел в поле "Поле ввода во фрейме" сгенерированный случайно адрес
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я ввел в поле "Поле ввода во фрейме" сгенерированный случайно e-mail
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я ввел в "Поле ввода во фрейме" сгенерированную случайно дату в формате "%d.%m.%Y" и диапазоне от 2000 до 2013 года
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я ввел в "Поле ввода во фрейме" сгенерированный случайно СНИЛС
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я ввел в "Поле ввода во фрейме" сгенерированный случайно ИНН
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я ввел в "Поле ввода во фрейме" сгенерированный случайно номер транзакт
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я ввел в поле "Поле ввода во фрейме" сгенерированную случайно серию паспорта
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я ввел в "Поле ввода во фрейме" сгенерированный случайно номер паспорта
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я ввел в "Поле ввода во фрейме" сгенерированные случайно серию и номер паспорта
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я ввел в "Поле ввода во фрейме" сгенерированный случайно код подразделения
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я ввел в "Поле ввода во фрейме" 25 случайно сгенерированных цифр
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я ввел в "Поле ввода во фрейме" случайно сгенерированное число от 15 до 17
    Then DEMO STEP: Я проверил ввод данных во фрейме

    When Я нажал на элемент с текстом "Документация"
      And Я пролистал страницу до позиции "0","500" пикселей
      And Я переключился на основную страницу


  @ZephyrLabel/TOOLS/ZAPP_Playground_4 @local
  Scenario: Основной сценарий - четвертая часть
    When Я нажал на "Скачивание файла"
      And Я загрузил последний скачанный файл в форму "Загрузка файла"
      And Я нажал на кнопку "Сохранить"
    Then DEMO STEP: Я проверил загрузку файла на zapp-site

    When Я перешел на главную страницу
      And Я загрузил файл по пути относительно корня установки zapp "features/core/__init__.py", в форму "Загрузка файла"
